package wangwenjun.phase2.concurrencypattern.activeobject.staticproxy;

import wangwenjun.phase2.concurrencypattern.future.Future;

/**
 * @author ChangLiang
 * @date 2020/6/17
 */
public interface OrderService {

    /**
     * 提交订单，没有返回值
     * @param account
     * @param orderId
     */
    void createOrder(String account, long orderId);

    /**
     * 根据订单编号查询订单明细， 有入参也有返回值，但是返回类型必须是Future
     * 因为方法的执行是在其他线程中进行的，势必不会立即得到正确的最终结果，
     * 通过Future 凭据方式可以立即得到返回
     * @param orderId
     * @return
     */
    Future<String> findOrderDetails(long orderId);
}
